Wheeled Biped Robot (RHEA)

Research internship, Stochastic Robotics Lab, Robert Bosch Centre for Cyber-Physical Systems, IISc Bangalore. Apr. - Jul. 2023.

What I did: derived the robot's dynamics, designed the balance controllers, and simulated the full system in MuJoCo. I also supported reinforcement learning policy tuning for disturbance rejection.

Credit: the robot model (URDF) is based on G-Levine's open-source Rhea model. The dynamics, controllers and simulation work are mine.

RHEA is a wheeled biped: a chassis on two legs, each with a hip and a knee joint and a driven wheel at the end. The goal was to make it balance and move in simulation.

Tech stack: Python, SymPy, MuJoCo, LQR/LQI control, PID control

How the system works

Dynamic modeling

Built a symbolic dynamics model in SymPy using Lagrangian mechanics, covering the body, hip link, knee link and wheel, with the wheel's rolling constraint. This gives a mass matrix and the full equations of motion, which were cross-checked against MuJoCo. For balancing, the robot is modeled as an inverted pendulum and the equations are linearized about the upright pose to get a state-space model.

Balance control with LQR

Designed a Linear Quadratic Regulator (LQR) on the linearized model to keep the robot upright, and simulated the closed loop in MuJoCo.

Cascaded control architecture

After the LQR stage, I extended the controller into three layers:

  1. Joint-level posture control: PID on the hip and knee joints. Its integral term also acts as gravity compensation for the chassis.
  2. Balance and velocity tracking: a Linear Quadratic Integral (LQI) controller on a 4-state sagittal model.
  3. Yaw control: a PD controller that turns the robot using differential wheel torque, with balance-priority saturation so a turn command can never take away the torque the robot needs to stay upright.

Reinforcement learning for disturbance rejection

I supported training and tuning an RL policy for a simple biped model in MuJoCo, with external perturbations applied to test disturbance rejection.

Video

Demonstration of balancing and traversal